变量的使用
在 Kether 中,任何动作的返回值都是可以被我们临时储存起来,方便再次使用的,我们一般将其称为变量
需要注意的是,储存起来的变量只能在当前正在运行的 Kether 中使用,当 Kether 语句全部执行完毕后,储存起来的变量将会被释放。你无法在下一次运行 Kether 时去使用上一次运行储存的变量,这是不大可能的。
设置变量
我们先来看看如何设置变量
「展开 / 收起详情」💠 Variable Set 语句
设置变量有两种写法:
set {key} {token}
set {key} to {action}
它们的区别也很明显,一个支持将文本作为变量,另一个支持将语句返回值作为变量
如果你只想将一段普通文本设置为变量,那么我更推荐你用第一种写法
/* 设置文本变量 */
set text "Crazy KFC vivo 50."
/* 将玩家名字作为变量存储 */
set name to player name
/* 存储玩家血量 */
set health to player health
需要注意的是如果你重复使用 **同一个变量名 **来储存数据,那么会将覆盖上一次存储的数据
这里稍微说一下,Kether 里的变量名并没有像 Java、Kotlin 编程语言那样有那么多那么严格的规定
事实上,变量名写什么都是可以的,包括空格、中文以及特殊符号都是允许的。但我还是建议你尽量使用符合规则的变量名吧,例如:数字、字母和下划线或横杠等
实在不行中文变量名也可以(你看着舒服就行)
你硬是要用奇奇♂怪怪的变量名我也拦不住你对吧 awa
❗ 注意,如果你的变量名含有空格的话请不要忘记加上英文引号
获取变量
「展开 / 收起详情」💠 Variable Get 语句
获取变量的方法也非常简单:&<变量名>
需要注意的是,如果之前没有定义变量,或系统没有提供内置变量,则获取到的变量可能为 null
/* 打印变量 */
print &test
/* 在 Math 中使用变量 */
print math mul [ &health 0.6 ]
/* 检查获取到的变量是否为空 */
if check &test is null then {
tell "变量为空"
} else {
tell "变量不为空"
}
❗ 注意,如果你的变量名含有空格的话请不要忘记加上英文引号
变量的拓展用法
接下来我们学点好玩的内容
Variable Get
和 Variable Set
语句除了可以用来获取,定义变量之外,还有个特殊的用法,那就是获取或修改变量对象的内部属性。
对于数组对象,我们可以直接获取其内部的值
现有一个数组 set test to array [ 1 1 4 5 1 4 ]
,赋值给变量 test
,内部有六个数字。
要打印第四个数字,则可以这么写 print &test[3]
,数组下标从 0 开始,第四个数字下标为 3
set test to array [ 1 1 4 5 1 4 ]
/* 获取第四个数字 */
print &test[3]
运行结果:5
对于字符串对象,我们可以直接获取它对应的大小写字符串
现有一个字符串 set test to "Hello World!"
,赋值给变量 test
要打印其大写形式的字符串,则可以这样写 print &test[uppercase]
set test to "Hello World!"
/* 打印全大写形式字符串 */
print &test[uppercase]
运行结果:HELLO WORLD!
通过在中括号内指明该对象的属性,即可获取其对应属性的值。
当然,除了获取属性以外,还能通过使用 Variable Set
语句来设置属性
例如我们修改上述数组第三个数字
set test to array [ 1 1 4 5 1 4 ]
/* 修改第三个数字 */
set &test[2] to 6
/* 输出结果 */
print &test
运行结果:[1, 1, 6, 5, 1, 4]
原生 Kether 内置的属性比较少。如果你希望获得更多支持的属性,不妨考虑使用 Vulpecula